package gestores;

import java.util.List;

import persistence.IOrdenDAO;
import persistence.JDBCOrdenDAO;
import domain.Orden;
import domain.Usuario;

public class GestorOrden {
	IOrdenDAO io;
	
	public GestorOrden(){
		io = new JDBCOrdenDAO();
	}
	
	public List<Orden> selectOrdenesVentaMenoresOIgualesA(Double valor,String nombre){
		return io.selectOrdenesVentaMenoresOIgualesA(valor,nombre);
	}
	public List<Orden> selectOrdenesVentaMayoresOIgualesA(Double valor,String nombre){
		return io.selectOrdenesVentaMayoresOIgualesA(valor,nombre);
	}
	
	public void insertarOrdenCompra(Usuario usuario, String nombre,Double valor,Integer cantidad){
		io.insertarOrdenCompra(usuario, nombre, valor, cantidad);
	}
	
	public void insertarOrdenVenta(Usuario usuario, String nombre,Double valor,Integer cantidad){
		io.insertarOrdenVenta(usuario, nombre, valor, cantidad);
	}
	
	
	
	public Orden seleccionarPrimeraOrdenVenta(Double valor,String nombre){
		return io.seleccionarPrimeraOrdenVenta(valor,nombre);
	}
	
	public Orden seleccionarPrimeraOrdenCompra(Double valor,String nombre){
		return io.seleccionarPrimeraOrdenCompra(valor,nombre);
	}
	
	
	
	
	public void restarOrdenesYCartera(Orden orden,Integer diferencia){
		System.out.println("RestarOrdenesYCartera");
		io.restarOrdenesYCartera(orden,diferencia);
	}
	
	public void borrarOrdenesYCartera(Orden orden,String nombre, Integer numeroOrden,Double valorCompra){
		System.out.println("BorrarOrdenesYCartera");
		io.borrarOrdenesYCartera(orden,orden.getUsuario(),nombre,numeroOrden,valorCompra);
		}
	
	public void efectuarTransaccion(Usuario usuarioCompra, String nombre, Integer numeroOrden, Double valorCompra, Usuario usuarioVende){
		io.efectuarTransaccion(usuarioCompra,nombre,numeroOrden,valorCompra,usuarioVende);
	}
	
	
	public List<Orden> selectOrdenesCompra(String nombre){
		return io.selectOrdenesCompra(nombre);
	}
	public List<Orden> selectOrdenesVenta(String nombre){
		return io.selectOrdenesVenta(nombre);
	}

	public void borrarOrdenesVentaYCartera(Orden orden, String nombre,
			Integer numeroOrden, Double valorVenta) {
		io.borrarOrdenesVentaYCartera(orden,orden.getUsuario(),nombre,numeroOrden,valorVenta);
	}

	public List<Orden> selectOrdenesCompraMayoresOIgualesA(Double valor,
			String nombre) {
		return io.selectOrdenesCompraMayoresOIgualesA(valor,nombre);		
	}

	public void restarOrdenesYCarteraDeCompra(Orden orden, Integer diferencia) {
		io.restarOrdenesYCarteraDeCompra(orden,diferencia);
	}

	public void borrarOrdenesCompraYCartera(Orden orden, String nombre,
			Integer numeroOrden, Double valorVenta) {
		io.borrarOrdenesCompraYCartera(orden,orden.getUsuario(),nombre,numeroOrden,valorVenta);
		
		
	}
	

}
